package com.pug.feign;

import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;

/**
 * 注意：
 * - 这个是fegin接口调用过程中的流控
 * - 而@SentinelResource是调用 服务调用者 这个接口流控
 * 如果想进这个，就必须配置 服务提供提供者的流控才可以 或者 在调用者配置 GET:http://xq-pug-user-service/user/get/{id} 类似于这样才可以进入此类
 */
@Component
@Slf4j
public class UserServiceFeignFallbackFactory implements FallbackFactory<UserServiceFeign> {

    @Override
    public UserServiceFeign create(Throwable cause) {
        return new UserServiceFeign() {
            @Override
            public boolean discountbit(Long userId, String money) {
                log.error("User服务 - 兜底方案进来了...");
                return false;
            }
        };
    }
}